package com.grj.parking.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;

/**
 * 用户角色关联表
 * @TableName sys_user_role
 */
@TableName(value ="sys_user_role")
@Data
public class SysUserRole implements Serializable {
    /**
     * ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 租户ID
     */
    @TableField(value = "tenant_id")
    private Long tenantId;

    /**
     * 用户ID
     */
    @TableField(value = "user_id")
    private Long userId;

    /**
     * 角色ID
     */
    @TableField(value = "role_id")
    private Long roleId;

    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    private Date createTime;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    /**
     * 收费标准表
     * @TableName parking_fee_rule
     */
    @TableName(value ="parking_fee_rule")
    @Data
    public static class ParkingFeeRule implements Serializable {
        /**
         * 规则ID
         */
        @TableId(value = "id", type = IdType.AUTO)
        private Long id;

        /**
         * 租户ID
         */
        @TableField(value = "tenant_id")
        private Long tenantId;

        /**
         * 停车场ID
         */
        @TableField(value = "lot_id")
        private Long lotId;

        /**
         * 规则名称
         */
        @TableField(value = "rule_name")
        private String ruleName;

        /**
         * 适用车位类型
         */
        @TableField(value = "space_type")
        private Integer spaceType;

        /**
         * 首小时费用
         */
        @TableField(value = "first_hour_fee")
        private BigDecimal firstHourFee;

        /**
         * 首小时后费用
         */
        @TableField(value = "after_first_fee")
        private BigDecimal afterFirstFee;

        /**
         * 免费分钟数
         */
        @TableField(value = "free_minutes")
        private Integer freeMinutes;

        /**
         * 每日最高费用
         */
        @TableField(value = "max_daily_fee")
        private BigDecimal maxDailyFee;

        /**
         * 是否默认规则(0-否,1-是)
         */
        @TableField(value = "is_default")
        private Integer isDefault;

        /**
         * 状态(0-禁用,1-启用)
         */
        @TableField(value = "status")
        private Integer status;

        /**
         * 创建时间
         */
        @TableField(value = "create_time")
        private Date createTime;

        /**
         * 更新时间
         */
        @TableField(value = "update_time")
        private Date updateTime;

        @TableField(exist = false)
        private static final long serialVersionUID = 1L;
    }
}